package com.master.bd;

import java.sql.ResultSet;

import com.master.ed.Duplica_TabelaED;
import com.master.root.FormataDataBean;
import com.master.root.Tabela_FreteBean;
import com.master.root.Tabela_Frete_KielingBean;
import com.master.util.Data;
import com.master.util.Excecoes;
import com.master.util.bd.ExecutaSQL;
import com.master.util.bd.Transacao;
import java.util.List;
import com.master.util.Mensagens;
import com.master.rn.Tabela_FreteRN;
import com.master.util.Utilitaria;

public class Duplica_TabelaBD
    extends Transacao {
  double PE_Desc_FP = 1;
  double PE_Desc_FV = 1;
  double PE_Desc_TX = 1;

  private ExecutaSQL executasql;

  public Duplica_TabelaBD (ExecutaSQL sql) {
    this.executasql = sql;
  }

  public void inclui_km (Duplica_TabelaED ed) throws Excecoes {

    ////// // ("ok bd 1");


    String sql = null;
    long valOid = 0;
    String chave = null;

    if (ed.getPE_Desconto () > 0) {
      PE_Desc_FP = (100 - ed.getPE_Desconto ()) / 100;
    }

    try {

      sql = " SELECT * FROM Tabelas_Fretes ";
      sql += " WHERE Tabelas_Fretes.OID_Pessoa = '" + ed.getOID_Pessoa () + "'";
      sql += " AND Tabelas_Fretes.OID_Produto = " + ed.getOID_Produto_Origem ();

      ////// // (sql);

      ResultSet rs = null;
      rs = this.executasql.executarConsulta (sql);
      Data data = new Data ();
      FormataDataBean DataFormatada = new FormataDataBean ();

      int qt_tabelas = 0;
      while (rs.next ()) {
        this.inicioTransacao ();
        this.executasql = this.sql;

        String incluiu = "N";

        Tabela_Frete_KielingBean Tabela_Frete_KielingBean = new Tabela_Frete_KielingBean ();

        Tabela_Frete_KielingBean.setOID_Pessoa (ed.getOID_Pessoa_Destinatario ());
        Tabela_Frete_KielingBean.setOID_Produto (ed.getOID_Produto_Destino ());

        Tabela_Frete_KielingBean.setOID_Modal (rs.getLong ("OID_Modal"));
        Tabela_Frete_KielingBean.setOID_Vendedor (rs.getString ("OID_Vendedor"));
        Tabela_Frete_KielingBean.setOID_Origem (rs.getLong ("OID_Origem"));
        Tabela_Frete_KielingBean.setOID_Destino (rs.getLong ("OID_Destino"));
        Tabela_Frete_KielingBean.setDM_Origem (rs.getString ("DM_Origem"));
        Tabela_Frete_KielingBean.setNM_Origem (rs.getString ("NM_Origem"));
        Tabela_Frete_KielingBean.setDM_Destino (rs.getString ("DM_Destino"));
        Tabela_Frete_KielingBean.setNM_Destino (rs.getString ("NM_Destino"));

        int i = 0;

        sql = " SELECT  OID_TABELA_FRETE FROM Tabelas_Fretes ";
        sql += " WHERE Tabelas_Fretes.OID_Pessoa = '" + ed.getOID_Pessoa_Destinatario () + "'";
        sql += " AND Tabelas_Fretes.OID_Produto = " + ed.getOID_Produto_Destino ();
        sql += " AND Tabelas_Fretes.OID_Origem = " + Tabela_Frete_KielingBean.getOID_Origem ();
        sql += " AND Tabelas_Fretes.OID_Destino = " + Tabela_Frete_KielingBean.getOID_Destino ();
        sql += " AND Tabelas_Fretes.DM_Origem = '" + Tabela_Frete_KielingBean.getDM_Origem () + "'";
        sql += " AND Tabelas_Fretes.DM_Destino = '" + Tabela_Frete_KielingBean.getDM_Destino () + "'";

        // //  ("sql ve se tabela/linha existe " + sql);

        ResultSet rsLocal = null;
        rsLocal = this.executasql.executarConsulta (sql);
        while (rsLocal.next () && i == 0) {
          i++;
          incluiu = "S";
          Tabela_Frete_KielingBean.setOID (rsLocal.getString ("OID_TABELA_FRETE"));
        }

        // //  (" incluiu ->> " + incluiu + "->> " + i);

        if (i == 0) {

          String DT_Vigencia = rs.getString ("DT_Vigencia");
          DataFormatada.setDT_FormataData (DT_Vigencia);
          Tabela_Frete_KielingBean.setDT_Vigencia (DataFormatada.getDT_FormataData ());

          String DT_Validade = rs.getString ("DT_Validade");
          DataFormatada.setDT_FormataData (DT_Validade);

          Tabela_Frete_KielingBean.setDT_Validade (DataFormatada.getDT_FormataData ());

        }

        if (ed.getDM_Tipo_Tabela_Frete ().equals ("T") || ed.getDM_Tipo_Tabela_Frete ().equals ("C")) {
          //// // (" tabela ->> " + ed.getPE_Desconto() );
          Tabela_Frete_KielingBean.setPE_C_Desc_FP (ed.getPE_Desconto ());

          Tabela_Frete_KielingBean.setVL_C_Ate25 (rs.getDouble ("VL_C_Ate25") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_C_Ate50 (rs.getDouble ("VL_C_Ate50") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_C_Ate300 (rs.getDouble ("VL_C_Ate300") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_C_Ate500 (rs.getDouble ("VL_C_Ate500") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_C_Ate1000 (rs.getDouble ("VL_C_Ate1000") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_C_Acima1000 (rs.getDouble ("VL_C_Acima1000") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_TX_Coleta (rs.getDouble ("VL_TX_Coleta") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_TX_Entrega (rs.getDouble ("VL_TX_Entrega") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_TX_Col_Urg_200 (rs.getDouble ("VL_TX_Col_Urg_200") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_TX_Col_Urg_1000 (rs.getDouble ("VL_TX_Col_Urg_1000") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_TX_Col_Urg_Ton (rs.getDouble ("VL_TX_Col_Urg_Ton") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_TX_Ent_Urg_200 (rs.getDouble ("VL_TX_Ent_Urg_200") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_TX_Ent_Urg_1000 (rs.getDouble ("VL_TX_Ent_Urg_1000") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_TX_Ent_Urg_Ton (rs.getDouble ("VL_TX_Ent_Urg_Ton") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_TX_Exc_Coleta (rs.getDouble ("VL_TX_Exc_Coleta") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_TX_Exc_Entrega (rs.getDouble ("VL_TX_Exc_Entrega") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_C_Pedagio (rs.getDouble ("VL_C_Pedagio") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_Pedagio_Minimo (rs.getDouble ("VL_Pedagio_Minimo") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_C_Taxa_Minima (rs.getDouble ("VL_C_Taxa_Minima") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_TX_Km_Rodado (rs.getDouble ("VL_TX_Km_Rodado") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setDM_Tipo_Tabela_C (rs.getString ("DM_Tipo_Tabela_C"));

          Tabela_Frete_KielingBean.setPE_C_Ad_Valorem (rs.getDouble ("PE_C_Ad_Valorem"));
          if (ed.getPE_C_AD_Valorem () > 0) {
            Tabela_Frete_KielingBean.setPE_C_Ad_Valorem (ed.getPE_C_AD_Valorem ());
          }

          ////// // ("c oid " + Tabela_Frete_KielingBean.getOID()*PE_Desc_FP);

          ////// // ("c 1 ");

          if (Tabela_Frete_KielingBean.getVL_C_Ate25 () > 0) {

            if (incluiu.equals ("N")) {
              Tabela_Frete_KielingBean.insert ();
              incluiu = "S";

            }

            ////// // ("c 4 " + Tabela_Frete_KielingBean.getOID()*PE_Desc_FP);

            Tabela_Frete_KielingBean.update_C ();
          }
        }

        if (ed.getDM_Tipo_Tabela_Frete ().equals ("T") || ed.getDM_Tipo_Tabela_Frete ().equals ("R")) {

          ////// // (" tabela r" );
          Tabela_Frete_KielingBean.setPE_R_Desc_FP (ed.getPE_Desconto ());

          Tabela_Frete_KielingBean.setVL_R_Ate10 (rs.getDouble ("VL_R_Ate10") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_R_Ate20 (rs.getDouble ("VL_R_Ate20") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_R_Ate30 (rs.getDouble ("VL_R_Ate30") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_R_Ate50 (rs.getDouble ("VL_R_Ate50") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_R_Ate70 (rs.getDouble ("VL_R_Ate70") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_R_Ate100 (rs.getDouble ("VL_R_Ate100") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_R_Ate150 (rs.getDouble ("VL_R_Ate150") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_R_Ate200 (rs.getDouble ("VL_R_Ate200") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_R_Acima200 (rs.getDouble ("VL_R_Acima200") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setPE_Ad_Valorem (rs.getDouble ("PE_Ad_Valorem"));
          if (ed.getPE_R_AD_Valorem () > 0) {
            Tabela_Frete_KielingBean.setPE_Ad_Valorem (ed.getPE_R_AD_Valorem ());
          }

          Tabela_Frete_KielingBean.setPE_Ademe (rs.getDouble ("PE_Ademe"));
          Tabela_Frete_KielingBean.setVL_Ademe_Minimo (rs.getDouble ("VL_Ademe_Minimo") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setPE_Suframa (rs.getDouble ("PE_Suframa"));
          Tabela_Frete_KielingBean.setVL_Suframa_Minimo (rs.getDouble ("VL_Suframa_Minimo") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setPE_Fluvial (rs.getDouble ("PE_Fluvial"));
          Tabela_Frete_KielingBean.setVL_Fluvial_Minimo (rs.getDouble ("VL_Fluvial_Minimo") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setVL_TX_Pedagio (rs.getDouble ("VL_Pedagio") * PE_Desc_TX);
          Tabela_Frete_KielingBean.setDM_Tipo_Tabela_R (rs.getString ("DM_Tipo_Tabela_R"));
          Tabela_Frete_KielingBean.setDM_Tipo_Pedagio (rs.getString ("DM_Tipo_Pedagio"));
          Tabela_Frete_KielingBean.setVL_Pedagio_Minimo (rs.getDouble ("VL_Pedagio_Minimo") * PE_Desc_TX);

          if (Tabela_Frete_KielingBean.getVL_R_Ate10 () > 0) {
            if (incluiu.equals ("N")) {
              Tabela_Frete_KielingBean.insert ();
              incluiu = "S";
            }
            Tabela_Frete_KielingBean.update_R ();
          }
        }

        if (ed.getDM_Tipo_Tabela_Frete ().equals ("T") || ed.getDM_Tipo_Tabela_Frete ().equals ("E")) {
          ////// // (" tabela e" );
          Tabela_Frete_KielingBean.setPE_E_Desc_FP (ed.getPE_Desconto ());

          Tabela_Frete_KielingBean.setVL_E_Ate1 (rs.getDouble ("VL_E_Ate1") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_E_1Kg (rs.getDouble ("VL_E_1Kg") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_E_Excedente (rs.getDouble ("VL_E_Excedente") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setPE_E_Ad_Valorem (rs.getDouble ("PE_E_Ad_Valorem"));
          if (ed.getPE_E_AD_Valorem () > 0) {
            Tabela_Frete_KielingBean.setPE_E_Ad_Valorem (ed.getPE_E_AD_Valorem ());
          }

          Tabela_Frete_KielingBean.setDM_Tipo_Tabela_E (rs.getString ("DM_Tipo_Tabela_E"));
          if (Tabela_Frete_KielingBean.getVL_E_Ate1 () > 0) {
            if (incluiu.equals ("N")) {
              Tabela_Frete_KielingBean.insert ();
              incluiu = "S";
            }
            Tabela_Frete_KielingBean.update_E ();
          }
        }

        if (ed.getDM_Tipo_Tabela_Frete ().equals ("T") || ed.getDM_Tipo_Tabela_Frete ().equals ("D")) {
          ////// // (" tabela d" );
          Tabela_Frete_KielingBean.setPE_D_Desc_FP (ed.getPE_Desconto ());

          Tabela_Frete_KielingBean.setVL_D_Ate1C (rs.getDouble ("VL_D_Ate1C") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate2C (rs.getDouble ("VL_D_Ate2C") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate3C (rs.getDouble ("VL_D_Ate3C") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate4C (rs.getDouble ("VL_D_Ate4C") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate5C (rs.getDouble ("VL_D_Ate5C") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate6C (rs.getDouble ("VL_D_Ate6C") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate7C (rs.getDouble ("VL_D_Ate7C") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate8C (rs.getDouble ("VL_D_Ate8C") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate9C (rs.getDouble ("VL_D_Ate9C") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate10C (rs.getDouble ("VL_D_Ate10C") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate1D (rs.getDouble ("VL_D_Ate1D") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate2D (rs.getDouble ("VL_D_Ate2D") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate3D (rs.getDouble ("VL_D_Ate3D") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate4D (rs.getDouble ("VL_D_Ate4D") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate5D (rs.getDouble ("VL_D_Ate5D") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate6D (rs.getDouble ("VL_D_Ate6D") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate7D (rs.getDouble ("VL_D_Ate7D") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate8D (rs.getDouble ("VL_D_Ate8D") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate9D (rs.getDouble ("VL_D_Ate9D") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_Ate10D (rs.getDouble ("VL_D_Ate10D") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_ExcedenteC (rs.getDouble ("VL_D_ExcedenteC") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setVL_D_ExcedenteD (rs.getDouble ("VL_D_ExcedenteD") * PE_Desc_FP);
          Tabela_Frete_KielingBean.setPE_D_Ad_Valorem (rs.getDouble ("PE_D_Ad_Valorem"));
          if (ed.getPE_D_AD_Valorem () > 0) {
            Tabela_Frete_KielingBean.setPE_D_Ad_Valorem (ed.getPE_D_AD_Valorem ());
          }

          Tabela_Frete_KielingBean.setDM_Tipo_Tabela_D (rs.getString ("DM_Tipo_Tabela_D"));

          if (Tabela_Frete_KielingBean.getVL_D_Ate1C () > 0) {
            if (incluiu.equals ("N")) {
              Tabela_Frete_KielingBean.insert ();
              incluiu = "S";
            }
            Tabela_Frete_KielingBean.update_D ();
          }
        }

//        Tabela_Frete_KielingBean.setPE_Desc_FP(rs.getDouble("PE_Desc_FP")*PE_Desc_FP);
//        Tabela_Frete_KielingBean.setPE_Desc_FV(rs.getDouble("PE_Desc_FV")*PE_Desc_FP);
        Tabela_Frete_KielingBean.update_Perc ();

        this.fimTransacao (true);
        qt_tabelas++;
        // //  ("Copia tabela " + qt_tabelas);
      }

    }

    catch (Exception exc) {
      Excecoes excecoes = new Excecoes ();
      excecoes.setClasse (this.getClass ().getName ());
      excecoes.setMensagem ("Erro ao incluir Duplica_Tabela");
      excecoes.setMetodo ("inclui");
      excecoes.setExc (exc);
      throw excecoes;
    }
  }

  public void copia_Tabela (Duplica_TabelaED ed) throws Excecoes {


    String sql = null;
    try {

      sql = " SELECT * FROM Tabelas_Fretes ";
      sql += " WHERE Tabelas_Fretes.OID_Pessoa = '" + ed.getOID_Pessoa () + "'";

      if (ed.getOID_Produto_Origem () > 0) {
        sql += " AND Tabelas_Fretes.OID_Produto = " + ed.getOID_Produto_Origem ();
      }

      if (!"T".equals (ed.getDM_Aplicacao ())) {
        sql += " AND Tabelas_Fretes.DM_Aplicacao = '" + ed.getDM_Aplicacao () + "'";
      }

      // //  (sql);

      ResultSet rs = null;
      rs = this.executasql.executarConsulta (sql);
      FormataDataBean DataFormatada = new FormataDataBean ();
      ResultSet res = null;

      while (rs.next ()) {
        Tabela_FreteBean Tabela_FreteBean = new Tabela_FreteBean ();
        Tabela_FreteBean = Tabela_FreteBean.getByOID (rs.getLong ("oid_Tabela_Frete"));
        Tabela_FreteBean.setOID_Pessoa (ed.getOID_Pessoa_Destinatario ());

        if (ed.getOID_Produto_Destino () > 0) {
          Tabela_FreteBean.setOID_Produto (ed.getOID_Produto_Destino ());
        }
        Tabela_FreteBean.setDM_Aplicacao("CN");
        Tabela_FreteBean.setDM_Inclusao("COPIA");

        if ("F".equals(ed.getDM_Tipo_Tabela())) {   //fornecedor
            Tabela_FreteBean.setDM_Aplicacao("F");
            Tabela_FreteBean.setDM_Tipo_Tabela("F");
        }

        String DT_Vigencia = Data.getDataDMY ();
        DataFormatada.setDT_FormataData (DT_Vigencia);
        Tabela_FreteBean.setDT_Vigencia (DataFormatada.getDT_FormataData ());

        String DT_Validade = "01/01/2099";
        DataFormatada.setDT_FormataData (DT_Validade);
        Tabela_FreteBean.setDT_Validade (DataFormatada.getDT_FormataData ());

        sql = "SELECT Tabelas_Fretes.NR_Peso_Inicial " +
            " FROM    Tabelas_Fretes " +
            " WHERE   Tabelas_Fretes.oid_Pessoa = '" + ed.getOID_Pessoa_Destinatario () + "' " +
            "   AND   Tabelas_Fretes.oid_Produto = " + ed.getOID_Produto_Destino () +
            "   AND   Tabelas_Fretes.oid_Produto = " + ed.getOID_Produto_Destino () +
            "   AND   Tabelas_Fretes.oid_Modal = " + rs.getLong ("oid_Modal") +
            "   AND   Tabelas_Fretes.oid_Origem = " + rs.getLong ("oid_origem") +
            "   AND   Tabelas_Fretes.NR_Peso_Inicial = " + rs.getDouble ("NR_Peso_Inicial") +
            "   AND   Tabelas_Fretes.NR_Peso_Final = " + rs.getDouble ("NR_Peso_Final") +
            "   AND   Tabelas_Fretes.oid_Destino = " + rs.getLong ("oid_destino") +
            "   AND   Tabelas_Fretes.DM_Origem = '" + rs.getString ("DM_Origem") + "'" +
            "   AND   Tabelas_Fretes.DM_Destino = '" + rs.getString ("DM_Destino") + "'";

        // //  (sql);

        res = this.executasql.executarConsulta (sql);

        if (!res.next ()) {
          // //  ("nao tem ");

          Tabela_FreteBean.insert ();
          // //  ("ok 11");

        }
      }
    }

    catch (Exception exc) {
      Excecoes excecoes = new Excecoes ();
      excecoes.setClasse (this.getClass ().getName ());
      excecoes.setMensagem ("erro em copiar Tabela");
      excecoes.setMetodo ("copia_Tabela");
      excecoes.setExc (exc);
      throw excecoes;
    }
  }

  public void ajusta_Tabela (Duplica_TabelaED ed) throws Excecoes {


	    String sql = null;
	    Utilitaria utilitaria = new Utilitaria();

	    try {

	      sql = " SELECT * FROM Tabelas_Fretes ";
	      sql += " WHERE Tabelas_Fretes.OID_Pessoa = '" + ed.getOID_Pessoa () + "'";

	      if (ed.getNR_Peso_Inicial () > 0) {
	         sql += " AND Tabelas_Fretes.nr_peso_inicial >= " + ed.getNR_Peso_Inicial ();
	      }
	      if (ed.getNR_Peso_Final () > 0) {
		     sql += " AND Tabelas_Fretes.nr_peso_Final <= " + ed.getNR_Peso_Final ();
	      }
	      if (utilitaria.doValida(ed.getDM_Origem ())) {
	         sql += " AND Tabelas_Fretes.DM_Origem = '" + ed.getDM_Origem () + "'";
	      }
	      if (utilitaria.doValida(ed.getDM_Destino ())) {
		     sql += " AND Tabelas_Fretes.DM_Destino = '" + ed.getDM_Destino () + "'";
		  }
	      if (ed.getOid_Origem() > 0){
		     sql += " AND Tabelas_Fretes.oid_origem = " + ed.getOid_Origem ();
	      }
	      if (ed.getOid_Destino() > 0){
		     sql += " AND Tabelas_Fretes.oid_Destino = " + ed.getOid_Destino ();
	      }

	      ResultSet rs = null;
	      rs = this.executasql.executarConsulta (sql);
	      FormataDataBean DataFormatada = new FormataDataBean ();
	      ResultSet res = null;

	      while (rs.next ()) {
	        Tabela_FreteBean Tabela_FreteBean = new Tabela_FreteBean ();
	        Tabela_FreteBean = Tabela_FreteBean.getByOID (rs.getLong ("oid_Tabela_Frete"));

	        Tabela_FreteBean.setOID_Usuario(ed.getOID_Usuario());

	        Tabela_FreteBean.setVL_Frete(rs.getDouble("vl_frete") * ((ed.getPE_Ajuste_Tabela()/100)+1));

	        Tabela_FreteBean.setDM_Aplicacao("CN");
	        Tabela_FreteBean.setDM_Inclusao("AJUSTE");
	        Tabela_FreteBean.setTX_Observacao(ed.getTX_Observacao());

	        String DT_Vigencia = Data.getDataDMY ();
	        DataFormatada.setDT_FormataData (DT_Vigencia);
	        Tabela_FreteBean.setDT_Vigencia (DataFormatada.getDT_FormataData ());

	        String DT_Validade = "01/01/2099";
	        DataFormatada.setDT_FormataData (DT_Validade);
	        Tabela_FreteBean.setDT_Validade (DataFormatada.getDT_FormataData ());

	        Tabela_FreteBean.update();

	      }
	    }

	    catch (Exception exc) {
	      Excecoes excecoes = new Excecoes ();
	      excecoes.setClasse (this.getClass ().getName ());
	      excecoes.setMensagem ("erro em copiar Tabela");
	      excecoes.setMetodo ("copia_Tabela");
	      excecoes.setExc (exc);
	      throw excecoes;
	    }
	  }

}
